]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
14 months agoPort the EdgeDragAction to ClutterGesture
Jonas Dreßler [Fri, 18 Mar 2022 15:25:38 +0000 (16:25 +0100)]
Port the EdgeDragAction to ClutterGesture

And since ClutterGestures will only be possible to implement in C (due to
performance concerns when we'll get rid of motion event compression and
start handling eg. 1000 HZ mouse events at the full rate), that means we
have to port the gesture to C!

It behaves mostly the same still: It's a single finger touch-only gesture
that recognizes as soon as a point that began on the monitor edge moves away
from that edge. It then emits "progress" signals with the distance from the
edge all the way until the fixed threshold distance (DRAG_DISTANCE) is
reached, where it then moves to COMPLETED.

There's definitely room for further improvements here, eg. the gesture
should probably only complete once the point is lifted from the screen.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agoappDisplay: Remove action mode limitation for swipe tracker
Jonas Dreßler [Tue, 30 Apr 2024 15:50:20 +0000 (17:50 +0200)]
appDisplay: Remove action mode limitation for swipe tracker

Now that we no longer have the swipe tracker on the stage, but rather on
the actual actor that the gesture is happening on, we don't have to limit it
to specific ActionModes anymore, so remove that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agoSet debug names for swipe tracker pan gestures
Jonas Dreßler [Thu, 31 Jul 2025 09:49:20 +0000 (11:49 +0200)]
Set debug names for swipe tracker pan gestures

Add a debug name param to swipe trackers to make gestures debugging
that sets the ClutterAction 'name' param of the pan gesture. This
should make debugging gestures easier when SwipeTrackers are involved.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agoSet event phase to CAPTURE for swipe gestures starting in the session
Jonas Dreßler [Thu, 31 Jul 2025 09:43:57 +0000 (11:43 +0200)]
Set event phase to CAPTURE for swipe gestures starting in the session

When a swipe gesture can get triggered in the session (ie. on top of a
window, not just from the overview or other shell chrome), we want it to
receive events as soon as possible, as otherwise the clients will see
those events.

So use the CAPTURE phase for the overview gesture and the workspace
switching gesture, which makes sure the gesture sees each event before a
window gets to see it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agoswipeTracker: Port to use ClutterPanGesture
Jonas Dreßler [Thu, 31 Jul 2025 09:42:26 +0000 (11:42 +0200)]
swipeTracker: Port to use ClutterPanGesture

The new ClutterGesture subclass ClutterPanGesture fits the SwipeTracker
quite well. API wise the biggest difference to the TouchSwipeGesture it
was using before is that ClutterPanGesture has its own internal event
history to keep track of deltas and to calculate a velocity in the end.
That means we need to give it slighty special treatment right now, but
we'll improve that with the next commits.

So replace the internal TouchSwipeGesture and make the SwipeTracker use
ClutterPanGesture directly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agosearch: Use ClutterPanGesture for touchscreen scrolling
Jonas Dreßler [Fri, 8 Apr 2022 23:21:54 +0000 (01:21 +0200)]
search: Use ClutterPanGesture for touchscreen scrolling

ClutterPanGesture replaced ClutterPanAction and uses Clutters new
gesture tracker, let's switch to the shiny new thing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agost/button: Use ClutterClickGesture instead of own button-press tracking
Jonas Dreßler [Sat, 31 Aug 2024 14:22:51 +0000 (16:22 +0200)]
st/button: Use ClutterClickGesture instead of own button-press tracking

Clutter has a gesture that can take care of this now, so get rid of all the
manual tracking of events let ClutterClickGesture handle it.

st_button_fake_release() is adapted to call clutter_gesture_cancel() until
everything is ported to ClutterGesture and Clutter will take care of this
automatically.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agoappDisplay: Use LongPress and Click gestures for opening popup menu
Jonas Dreßler [Thu, 17 Mar 2022 20:34:52 +0000 (21:34 +0100)]
appDisplay: Use LongPress and Click gestures for opening popup menu

We now have ClutterGestures for this, so let's use them instead of listening
to events ourselves.

While at it, remove the custom 600ms long-press duration in favor of Clutters
default 500ms long-press-duration.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agoReplace ClutterClickAction with new ClutterClickGesture
Jonas Dreßler [Tue, 8 Jul 2025 14:54:47 +0000 (16:54 +0200)]
Replace ClutterClickAction with new ClutterClickGesture

Nothing fancy either here, replace the old ClutterClickActions with the
new ClutterClickGesture.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agoReplace "long-press" of click action with ClutterLongPressGesture
Jonas Dreßler [Thu, 17 Mar 2022 16:08:33 +0000 (17:08 +0100)]
Replace "long-press" of click action with ClutterLongPressGesture

Nothing fancy here, just a straightforward replacement of one API with
another.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agounlockDialog: Move from TapAction to ClickGesture
Jonas Dreßler [Fri, 18 Mar 2022 13:24:26 +0000 (14:24 +0100)]
unlockDialog: Move from TapAction to ClickGesture

ClutterClickGesture is a new subclass of ClutterGesture and implements
the same functionality as the TapAction and ClutterClickAction did,
which is why those will get removed. So move to ClutterClickGesture here
for the tap gesture.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2853>

14 months agotimeLimitsManager: Fix a typo in a code comment
Philip Withnall [Thu, 28 Aug 2025 11:52:58 +0000 (12:52 +0100)]
timeLimitsManager: Fix a typo in a code comment

A ‘leap day’ is February 29th, and is not the same as a daylight savings
time transition day (when the clock goes forwards or backwards by an
hour).

Fix a thinko/typo in my code comment.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3853>

14 months agotray/na-tray-manager: Remove outdated comment and return value
Marco Trevisan (Treviño) [Wed, 1 May 2024 18:54:46 +0000 (20:54 +0200)]
tray/na-tray-manager: Remove outdated comment and return value

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agotray/na-xembed: Destroy socket window when ending the embedding
Marco Trevisan (Treviño) [Wed, 1 May 2024 03:56:48 +0000 (05:56 +0200)]
tray/na-xembed: Destroy socket window when ending the embedding

Currently when embedding a tray icon is ended we are leaving the X11
socket window around as we don't really destroy it, while we're just
listening for its child destruction.

So, when embedding is ending we need to make sure that:
 - If the plug window is still alive, move it back to its old parent
   (normally that's the root window, but we query for it, to be sure)
 - If the plug window has been already destroyed or reparented (by us or
   by something else), we've to just destroy the socket window

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7614
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agotray/na-xembed: Use proper indentation style header
Marco Trevisan (Treviño) [Wed, 1 May 2024 03:54:31 +0000 (05:54 +0200)]
tray/na-xembed: Use proper indentation style header

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agotray: Zero-initialize the event structures on initialization
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:22:29 +0000 (04:22 +0200)]
tray: Zero-initialize the event structures on initialization

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agoshell-tray-icon: Trigger a relayout when the underneath xembeded size changes
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:20:42 +0000 (04:20 +0200)]
shell-tray-icon: Trigger a relayout when the underneath xembeded size changes

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agoshell-tray: Ensure that only a child can be added
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:19:34 +0000 (04:19 +0200)]
shell-tray: Ensure that only a child can be added

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agoshell-tray-icon: Use available space when that's defined
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:18:50 +0000 (04:18 +0200)]
shell-tray-icon: Use available space when that's defined

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7613
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agotray/na-xembed: Use XShape to remove input on socket window
Marco Trevisan (Treviño) [Wed, 1 May 2024 20:34:58 +0000 (22:34 +0200)]
tray/na-xembed: Use XShape to remove input on socket window

We don't want this window to take any input as, a part from blocking the
events on the shell representation itself, they may potentially make the
plugged window to do anything with the event is processing (such as
showing tooltips). And we don't want this since we only want to send to
those windows only the synthetic events that we explicitly control.

This was already the case before of commit ab60902058 but a similar
approach was not replicated, leading to input events being fully
processed from tray icons plugs.

It requires adding an explicit build dependency on Xext, but this is
something that mutter already depends on so not really a new dependency

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7613
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agobuild: Add explicit dependency on Xfixes
Marco Trevisan (Treviño) [Wed, 1 May 2024 20:33:43 +0000 (22:33 +0200)]
build: Add explicit dependency on Xfixes

We use the xfixes extensions in tray icons but we rely on the dependency
brought to us from other libraries as mutter but let's make it explicit

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agounlockDialog: Do not reset the auth prompt on every tap
Marco Trevisan (Treviño) [Mon, 25 Aug 2025 23:11:18 +0000 (01:11 +0200)]
unlockDialog: Do not reset the auth prompt on every tap

Currently we have a tap event tracker that causes that every time a tap
happens in the lock screen, we reset the auth prompt and this can be
particularly annoying at least in three cases:
 1. Just clicking everywhere in the screen may lead the unlock entry
    content to be cleared
 2. Clicking in the screen while an authentication is in progress,
    cancels it
 3. This may break a multi-factor authentication method, as a single
    click may lead previous steps to be cancelled

So, while resetting the auth prompt is important when we're about to
show it, it's not something we want to do while an authentication has
started.

As per this also do not touch the auth prompt sensitivity unless we're
in an idle phase, or we may end up overriding the auth prompt state,
leading for example to a text entry being editable while we're verifying
the secret

Fixes: 37e55df29865dac13656116efdd7abec8056dea9
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3852>

14 months agoibusCandidatePopup: Fix scaling set-cursor-location-relative signal handling
Takao Fujiwara [Wed, 27 Aug 2025 09:00:30 +0000 (18:00 +0900)]
ibusCandidatePopup: Fix scaling set-cursor-location-relative signal handling

Need to convert the raw coordinates to the scaled ones in gnome-shell.
IBus GtkIMModule can calculate the relative coordinates and gnome-shell
needs to provide the actual scale.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8424
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3729>

14 months agoUpdate Polish translation
Piotr Drąg [Tue, 26 Aug 2025 16:31:03 +0000 (18:31 +0200)]
Update Polish translation

14 months agoUpdate Japanese translation
Makoto Sakaguchi [Tue, 26 Aug 2025 12:46:19 +0000 (12:46 +0000)]
Update Japanese translation

14 months agoUpdate Polish translation
Piotr Drąg [Mon, 25 Aug 2025 15:57:52 +0000 (17:57 +0200)]
Update Polish translation

14 months agoUpdate Thai translation
Aefgh Threenine [Sun, 24 Aug 2025 04:44:14 +0000 (04:44 +0000)]
Update Thai translation

(cherry picked from commit 8617430a5eb020c4dc94d415be35276f457d2256)

14 months agoUpdate Czech translation
Daniel Rusek [Thu, 21 Aug 2025 14:58:16 +0000 (14:58 +0000)]
Update Czech translation

14 months agoUpdate Slovenian translation
Martin [Wed, 20 Aug 2025 14:10:53 +0000 (14:10 +0000)]
Update Slovenian translation

14 months agobuild: Include GioUnix-2.0 when scanning the libshell headers
Marco Trevisan (Treviño) [Wed, 20 Aug 2025 11:23:33 +0000 (13:23 +0200)]
build: Include GioUnix-2.0 when scanning the libshell headers

libshell exposes in the headers types that are part of GioUnix
(DesktopAppInfo), so we should make it an explicit dependency of the
introspection parser, or we may not be able to parse these types.

Related to: https://gitlab.gnome.org/GNOME/glib/-/issues/3744

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3846>

14 months agoextensionSystem: Fix extension enabling/disabling order
Kyrill Zorin [Mon, 11 Aug 2025 22:42:36 +0000 (23:42 +0100)]
extensionSystem: Fix extension enabling/disabling order

Move disabling of unneeded extensions before enabling new ones
in _onEnabledExtensionsChanged(). Previously, conflicting
extensions could simultaneously be active briefly, leading to
unclean states, memory leaks, freezes, or crashes.

The old logic also caused unnecessary disable/enable cycles
for newly requested extensions, wasting resources. Running
the disable step first prevents these issues.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3835>

14 months agoappMenu: Capitalize "Using"
Jamie Gravendeel [Thu, 28 Mar 2024 19:07:25 +0000 (20:07 +0100)]
appMenu: Capitalize "Using"

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3256>

14 months agoUpdate Catalan translation
Jordi Mas [Wed, 20 Aug 2025 03:04:00 +0000 (05:04 +0200)]
Update Catalan translation

14 months agostatus/network: Fix quicksettings enterprise connections
Mitchell Augustin [Mon, 11 Aug 2025 19:21:40 +0000 (14:21 -0500)]
status/network: Fix quicksettings enterprise connections

In d6779f34dac6c80e178a308314fe59884a65f383, the switch
to shell_app_activate_action() was made without
also wrapping the action parameter in an av variant.
This patch adjusts network.js to use the correct av
variant type when attempting to connect to an
enterprise AP from the quicksettings panel.

Fixes d6779f34dac6c80e178a308314fe59884a65f383
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8590

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3834>

14 months agoUpdate Czech translation
Daniel Rusek [Tue, 19 Aug 2025 16:54:15 +0000 (16:54 +0000)]
Update Czech translation

14 months agoUpdate Czech translation
Daniel Rusek [Tue, 19 Aug 2025 14:16:24 +0000 (14:16 +0000)]
Update Czech translation

14 months agost/entry: Avoid crash in update_*_relation
Johannes Maibaum [Mon, 18 Aug 2025 20:26:10 +0000 (22:26 +0200)]
st/entry: Avoid crash in update_*_relation

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3839>

14 months agoUpdate Galician translation
Fran Diéguez [Sun, 17 Aug 2025 14:46:11 +0000 (14:46 +0000)]
Update Galician translation

14 months agoUpdate Persian translation
Danial Behzadi [Sat, 16 Aug 2025 10:37:58 +0000 (10:37 +0000)]
Update Persian translation

14 months agoUpdate Slovenian translation
Martin [Thu, 14 Aug 2025 15:26:23 +0000 (15:26 +0000)]
Update Slovenian translation

14 months agostatus: Set more descriptive labels for quick toggle menu buttons
Lukáš Tyrychtr [Tue, 5 Aug 2025 12:44:55 +0000 (14:44 +0200)]
status: Set more descriptive labels for quick toggle menu buttons

Make it clearer to screen reader users what menu buttons do by adding
descriptive labels that indicate opening menus for specific toggles.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8546.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agoquickSettings: Allow setting accessible names for quick toggle menu buttons
Lukáš Tyrychtr [Tue, 5 Aug 2025 12:44:55 +0000 (14:44 +0200)]
quickSettings: Allow setting accessible names for quick toggle menu buttons

This allows to override the menu button's label.
This API will be used in the next commit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agostatus: Set descriptive menu button a11y names for quick sliders
Lukáš Tyrychtr [Tue, 5 Aug 2025 11:54:59 +0000 (13:54 +0200)]
status: Set descriptive menu button a11y names for quick sliders

Make it clearer to screen reader users what menu buttons do by adding
descriptive labels, and not using the generic one everywhere.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agoquickSettings: Allow changing the accessible name for quick slider menu buttons
Lukáš Tyrychtr [Tue, 5 Aug 2025 11:54:59 +0000 (13:54 +0200)]
quickSettings: Allow changing the accessible name for quick slider menu buttons

Allow to specify a more descriptive accessible name for these buttons, this
will be used in the next commit to make the names unique.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agoui: Tweak some animations
kramo [Sat, 9 Aug 2025 19:06:32 +0000 (21:06 +0200)]
ui: Tweak some animations

Changed some linear animations to be quad,
added a scale transition to popovers and notifications.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3830>

14 months agoshell: Use proper path to include girepository headers
Marco Trevisan (Treviño) [Tue, 12 Aug 2025 01:59:14 +0000 (03:59 +0200)]
shell: Use proper path to include girepository headers

girepository-2.0 headers are inside ${PREFIX}/include/glib-2.0/girepository
and the pkg-config file provides the glib-2.0 subpath as include
directory, so we are required to use the full header path, or we may not
be able to find them.

This is triggered a build failure in debian (with clean setup where no
libgirepository-1.0 was installed):

  ../src/shell-global.c:19:10: fatal error: girepository.h: No such file or
  directory
     19 | #include <girepository.h>

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3837>

14 months agoextensions-app: Use AdwPreferencesPage's banner property
Óscar Fernández Díaz [Mon, 11 Aug 2025 16:59:22 +0000 (18:59 +0200)]
extensions-app: Use AdwPreferencesPage's banner property

Simplifies the widget tree by removing the GtkBox between the main
GtkStackPage and its AdwPreferencesPage.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3833>

14 months agoextensions-app: Use new AdwPreferencesGroup's bind_model
Óscar Fernández Díaz [Mon, 11 Aug 2025 17:00:10 +0000 (19:00 +0200)]
extensions-app: Use new AdwPreferencesGroup's bind_model

Allows us to get rid of GtkListBox and bind extension models directly to
each AdwPreferencesGroup.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3833>

14 months agoslider: Always use physical direction on smooth scroll
Carlos Garnacho [Sat, 9 Aug 2025 07:43:11 +0000 (09:43 +0200)]
slider: Always use physical direction on smooth scroll

Let the slider use the physical scroll direction, unaffected
by "natural scroll" settings. These widgets are not a "view"
where this setting does make sense, but rather the expectation
is that it's directly manipulable.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1012
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=703046
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3831>

14 months agoenvironment: Mock more DesktopAppInfo methods
Florian Müllner [Sun, 10 Aug 2025 13:44:13 +0000 (15:44 +0200)]
environment: Mock more DesktopAppInfo methods

Commit ac113accf1e0927 didn't mock all DesktopAppInfo methods used by
gnome-shell, and https://gitlab.gnome.org/GNOME/glib/-/issues/3744
still hasn't been fixed.

Add the methods that are needed for the AppMenu, which hopefully are
all the remaining DesktopAppInfo methods we are using.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8587
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3832>

14 months agoUpdate Catalan translation
Jordi Mas [Sun, 10 Aug 2025 07:27:38 +0000 (09:27 +0200)]
Update Catalan translation

14 months agoBump version to 49.beta.1
Jordan Petridis [Sat, 9 Aug 2025 16:42:24 +0000 (19:42 +0300)]
Bump version to 49.beta.1

Update NEWS.

In this case we don't need to bump the required mutter
version from 49.beta

14 months agoci: Export testlog from the dist job as well
Jordan Petridis [Sat, 9 Aug 2025 17:22:13 +0000 (20:22 +0300)]
ci: Export testlog from the dist job as well

14 months agoci: Update MUTTER_CI_IMAGE tag
Jordan Petridis [Sat, 9 Aug 2025 17:08:16 +0000 (20:08 +0300)]
ci: Update MUTTER_CI_IMAGE tag

14 months agoUpdate Slovenian translation
Martin [Fri, 8 Aug 2025 22:33:29 +0000 (22:33 +0000)]
Update Slovenian translation

14 months agounlockDialog: Show media notifications on lock screen
Florian Müllner [Sun, 26 Feb 2017 13:55:48 +0000 (14:55 +0100)]
unlockDialog: Show media notifications on lock screen

While we have included a built-in media section in the calendar for
a while, it is currently only available when the session is unlocked.
The ability to quickly pause or resume media playback directly from
the lock screen is quite handy though, so start showing them alongside
the existing screen shield notifications.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/488
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3306>

14 months agomessageList: Export MediaMessage
Florian Müllner [Thu, 15 Feb 2018 12:55:34 +0000 (13:55 +0100)]
messageList: Export MediaMessage

This will allow reusing it on the lock screen.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3306>

14 months agomediaMessage: Don't try to raise player while locked
Florian Müllner [Thu, 15 Feb 2018 13:14:07 +0000 (14:14 +0100)]
mediaMessage: Don't try to raise player while locked

We don't allow windows on the lock screen, so don't raise a
player window while locked, as the result of the action would
only become visible on unlock.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3306>

15 months agoUpdate Russian translation
Artur S0 [Fri, 8 Aug 2025 13:33:02 +0000 (13:33 +0000)]
Update Russian translation

15 months agosearch: Show spinner while searching
Piotr Marendowski [Tue, 5 Aug 2025 10:37:39 +0000 (12:37 +0200)]
search: Show spinner while searching

Ongoing operations are usually represented by an animation, so
the static "Searching…" label may appear as if the operation was
stuck.

Address this by adding a spinner to indicate that a search has
been started, but there aren't any results yet.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8244
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3827>

15 months agobrightnessManager: Handle backlights with limited number of steps
Sebastian Wick [Wed, 6 Aug 2025 08:54:04 +0000 (10:54 +0200)]
brightnessManager: Handle backlights with limited number of steps

Adjusts how many steps a BrightnessScale has to ensure that every
stepUp/stepDown results in a visible change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Move code around for the following commit
Sebastian Wick [Wed, 6 Aug 2025 08:52:46 +0000 (10:52 +0200)]
brightnessManager: Move code around for the following commit

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Change the number of BrightnessScale steps to 20
Sebastian Wick [Tue, 5 Aug 2025 08:27:05 +0000 (10:27 +0200)]
brightnessManager: Change the number of BrightnessScale steps to 20

This aligns with what g-s-d was using.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Make the steps of a BrightnessScale variable
Sebastian Wick [Tue, 5 Aug 2025 08:32:39 +0000 (10:32 +0200)]
brightnessManager: Make the steps of a BrightnessScale variable

This allows each brightness scale to use different number of steps when
using stepUp/stepDown. We will use this in the following commits to
better deal with backlights which have a limited amount of discrete
steps.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Clean up initialization of BrightnessScale
Sebastian Wick [Tue, 5 Aug 2025 08:31:51 +0000 (10:31 +0200)]
brightnessManager: Clean up initialization of BrightnessScale

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agoPort to gjs-1.85/girepository-2.0
Florian Müllner [Wed, 16 Jul 2025 17:06:34 +0000 (19:06 +0200)]
Port to gjs-1.85/girepository-2.0

gjs ported from the stand-alone gobject-introspection-1.0 to the
new girepository-2.0 library bundled with glib.

Bump the requirements for gjs/glib and adjust to the (fairly minor)
changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3801>

15 months agoenvironment: Work around introspection issue
Florian Müllner [Mon, 4 Aug 2025 06:04:30 +0000 (08:04 +0200)]
environment: Work around introspection issue

Methods of all classes from GioUnix erroneously show up as static
methods, see https://gitlab.gnome.org/GNOME/glib/-/issues/3744.

Work around this by defining the methods ourselves if we detect
that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3801>

15 months agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Wed, 6 Aug 2025 02:49:45 +0000 (02:49 +0000)]
Update Chinese (Taiwan) translation

(cherry picked from commit 42b58bcd0128fa86786f2c89a41153742e6f26da)

15 months agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Wed, 6 Aug 2025 02:46:28 +0000 (02:46 +0000)]
Update Brazilian Portuguese translation

15 months agoMark one string for translation
Rafael Fontenelle [Wed, 6 Aug 2025 02:33:20 +0000 (02:33 +0000)]
Mark one string for translation

15 months agobrightnessManager: Fix stepping up/down via shortcuts
Florian Müllner [Sun, 3 Aug 2025 20:32:40 +0000 (22:32 +0200)]
brightnessManager: Fix stepping up/down via shortcuts

The `BrightnessScale.value` property was originally called `brightness`,
and the methods used for keyboard shortcuts somehow missed the name change.

As a result, the methods try to set the brightness to `undefined`, which
is out of range and thus fails.

Use the correct property name to fix the shortcuts.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8570
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3825>

15 months agoUpdate Slovenian translation
Martin [Mon, 4 Aug 2025 14:08:29 +0000 (14:08 +0000)]
Update Slovenian translation

15 months agoUpdate Galician translation
Fran Diéguez [Sun, 3 Aug 2025 22:50:28 +0000 (22:50 +0000)]
Update Galician translation

15 months agonetwork: Clear connectivity queue after portal login
Michael Catanzaro [Mon, 28 Jul 2025 11:38:51 +0000 (13:38 +0200)]
network: Clear connectivity queue after portal login

When full connectivity (or rather, non-portal connectivity) is achieved,
we can clear all active portal helpers.

Normally, the portal helper will signal that it is done, but it is
implemented in a racy manner. So here let's do a comprehensive big
hammer solution to guarantee the portal helper definitely gets
eventually closed even if we miss the race window in the portal helper.
(The race is: the portal helper checks connectivity status either
immediately or within a certain amount of time after a navigation policy
decision. This could theoretically be too soon, and if missed, it won't
be rescheduled.)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Add extra check for policy decision type
Michael Catanzaro [Sun, 27 Jul 2025 15:35:58 +0000 (17:35 +0200)]
portalHelper: Add extra check for policy decision type

This check will always be true currently, because there are only three
possible types of policy decisions, and both of the others are already
handled above. But if new policy decision types are ever added in the
future, then we probably don't want to execute this code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Reduce the connectivity check rate limit
Michael Catanzaro [Sun, 27 Jul 2025 14:44:02 +0000 (16:44 +0200)]
portalHelper: Reduce the connectivity check rate limit

30 seconds is much too long for GNOME Shell to notice that full
connectivity has been achieved. The portal helper is expected to be
closed once connectivity is achieved.

Note this does NOT mean we unconditionally spam the connectivity check
server every 5 seconds. A connectivity check is still only scheduled
when an actual navigation occurs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Schedule recheck if it's too soon to recheck
Michael Catanzaro [Sun, 27 Jul 2025 14:40:51 +0000 (16:40 +0200)]
portalHelper: Schedule recheck if it's too soon to recheck

Currently we have a 30 second limit on rechecks. A recheck that would
violate the limit is simply dropped. This causes the portal helper to
never close itself.

Instead, schedule a future recheck for as soon as the timeout expires.
This will put an upper bound on how long the portal helper will
unnecessarily remain open.

(I've also changed the logic to unconditionally emit CANCELLED in
vfunc_close_request(), since this seems more correct. This won't
actually affect anything, because gnome-shell just ignores the
CANCELLED status, but in theory it's nice to end things with an
indication that we are finished. Otherwise, CANCELLED will never be
emitted.)

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7790

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Rename Done signal to StatusChanged
Michael Catanzaro [Sun, 27 Jul 2025 12:07:27 +0000 (14:07 +0200)]
portalHelper: Rename Done signal to StatusChanged

The name Done is incorrect because the result type may be RECHECK. In
this case, we are not done.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agodata: Add missing new line to dash.txt and system-folder.txt
AsciiWolf [Sat, 2 Aug 2025 09:22:42 +0000 (11:22 +0200)]
data: Add missing new line to dash.txt and system-folder.txt

To make it consistent with other files

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3821>

15 months agodata: Fix sorting by name in System folder
Daniel Rusek [Sat, 2 Aug 2025 08:48:26 +0000 (08:48 +0000)]
data: Fix sorting by name in System folder

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3821>

15 months agoBump version to 49.beta
Florian Müllner [Sun, 3 Aug 2025 09:55:44 +0000 (11:55 +0200)]
Bump version to 49.beta

Update NEWS.

15 months agoshellDBus: Add the Shell.Brightness interface
Sebastian Wick [Sat, 21 Jun 2025 22:12:09 +0000 (00:12 +0200)]
shellDBus: Add the Shell.Brightness interface

This lets gnome-settings-daemon control dimming for power saving, and
set a auto brightness target for brightness sensors. This finally let's
us drop direct backlight control from g-s-d.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agoshellDBus: Move loading the interface XML to the top
Sebastian Wick [Sat, 21 Jun 2025 22:11:41 +0000 (00:11 +0200)]
shellDBus: Move loading the interface XML to the top

Where the rest of the interfaces get loaded.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agobrightnessManager: Add keyboard shortcuts for monitor brightness control
Sebastian Wick [Sat, 21 Jun 2025 22:10:04 +0000 (00:10 +0200)]
brightnessManager: Add keyboard shortcuts for monitor brightness control

This used to be done by g-s-d but to avoid the split brain situation,
g-s-d has to stop poking at the backlight directly. This also means that
there is no reason to round-trip through g-s-d anymore, and we can just
implement the shortcuts in gnome shell.

This also adds new shortcuts for controling the backlight of the "active
monitor" (i.e. the one with the cursor) by pressing shift as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agostatus/brightness: Handle multiple monitors
Sebastian Wick [Sat, 21 Jun 2025 22:07:50 +0000 (00:07 +0200)]
status/brightness: Handle multiple monitors

The BrightnessManager exposes a global scale and per monitor scales
which we can also hook up to give users control over individual monitor
brightnesses. If there are more than one controllable backlight, the
brightness slider in quick settings becomes expandable and shows a
slider for each monitor with controllable backlight.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agobrightnessManager: Handle dimming and auto brightness
Sebastian Wick [Sat, 21 Jun 2025 22:06:27 +0000 (00:06 +0200)]
brightnessManager: Handle dimming and auto brightness

We don't want gnome-settings-daemon to poke directly at mutters
backlight anymore because that would be a split brain situation where
g-s and g-s-d will fight with each other. This implements a way to tell
the BrightnessManager to dim the screen and set an auto brightness
target, and the manager will set the backlight accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agostatus/brightness: Switch to the new BrightnessManager
Sebastian Wick [Sat, 21 Jun 2025 22:17:11 +0000 (00:17 +0200)]
status/brightness: Switch to the new BrightnessManager

Instead of looking at the monitor backlights directly, connect to the
BrightnessManager global scales. Everything should continue working as
before, this simply gives the BrightnessManager control over the actual
backlight with the quick settings brightness sliders being one input.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agobrightnessManager: Handle monitor backlight brightness
Sebastian Wick [Sat, 21 Jun 2025 22:16:56 +0000 (00:16 +0200)]
brightnessManager: Handle monitor backlight brightness

This implements a backlight manager which creates a global and multiple
per monitor BrightnessScales and updates the backlight based on the
BrightnessScales changing and the backlight changing. It shows the OSD
in response to changes.

In the future it will also handle dimming, auto brightness and keyboard
shortcuts.

The idea is that the per monitor scale changes the ratio between monitor
brighnesses and the global scale scales the monitor brightnesses
accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agoosdWindow: Take per-monitor information in show and add showAll, showOne
Sebastian Wick [Wed, 2 Jul 2025 10:23:51 +0000 (12:23 +0200)]
osdWindow: Take per-monitor information in show and add showAll, showOne

The current API only supports showing an OSD on all monitors or on one
monitor. This change makes it possible to show the OSD on any
combination of monitors while providing simpler functions for the common
usages.

It still retains the single-event character and cancels previous OSDs on
unaffected monitors.

We will require this for the screen brightness keyboard shortcuts in the
future.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agoUpdate Galician translation
Fran Diéguez [Sat, 2 Aug 2025 20:58:07 +0000 (20:58 +0000)]
Update Galician translation

15 months agodata: Fix Yelp desktop file name
Daniel Rusek [Mon, 23 Jun 2025 11:38:24 +0000 (11:38 +0000)]
data: Fix Yelp desktop file name

Renamed in https://gitlab.gnome.org/GNOME/yelp/-/commit/8e4fb61fff97cb37b6197479c506062c9188aee0

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3762>

15 months agoUpdate Slovenian translation
Martin [Fri, 1 Aug 2025 10:44:59 +0000 (10:44 +0000)]
Update Slovenian translation

15 months agodbusServices/extensions: Remove custom stylesheet
Florian Müllner [Thu, 22 May 2025 02:41:11 +0000 (04:41 +0200)]
dbusServices/extensions: Remove custom stylesheet

There is no custom styling left :-)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Stop using an expander for error details
Florian Müllner [Thu, 22 May 2025 02:26:19 +0000 (04:26 +0200)]
dbusServices/extensions: Stop using an expander for error details

Always show the error details up front instead of hiding them in an
expander. Other then getting rid of custom widgetry, this solves
the awkwardness of switching between very little content (which
is best suited by a small window size) to very verbose content
(which favors a tall window).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8413
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Remove ineffective CSS
Florian Müllner [Thu, 22 May 2025 02:27:15 +0000 (04:27 +0200)]
dbusServices/extensions: Remove ineffective CSS

The selector should be `preferencespage.error-page` to actually
match.

Nobody has been missing the missing style, so just remove it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Mention website in description
Florian Müllner [Thu, 22 May 2025 01:53:43 +0000 (03:53 +0200)]
dbusServices/extensions: Mention website in description

If the extension specifies a website, mention it in the description
instead of having a dedicated button in the expander toolbar.

This will allow us to get rid of the toolbar altogether soon.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Mention extension name in description
Florian Müllner [Thu, 22 May 2025 01:25:00 +0000 (03:25 +0200)]
dbusServices/extensions: Mention extension name in description

The extension name is still useful information, so mention it in
the description now that it is no longer in the title.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Change dialog title on error
Florian Müllner [Thu, 22 May 2025 01:33:05 +0000 (03:33 +0200)]
dbusServices/extensions: Change dialog title on error

As the dialog title is the only header element now, it should
indicate the error condition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Remove status header
Florian Müllner [Thu, 22 May 2025 01:45:56 +0000 (03:45 +0200)]
dbusServices/extensions: Remove status header

It is too dominant visually, and leads to a somewhat odd
"double header" in combination with the dialog title.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Add tooltip to copy button
Florian Müllner [Wed, 11 Jun 2025 22:09:41 +0000 (00:09 +0200)]
dbusServices/extensions: Add tooltip to copy button

This is an oversight: Icon buttons need either a tooltip or an
accessible label. In this case, a tooltip seems appropriate[0].

[0] https://developer.gnome.org/hig/patterns/feedback/tooltips.html#tooltips

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>